package com.grupobbva.seguridad.domain;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


/**
 * The persistent class for the APLICACION database table.
 * 
 */
@Entity
@Table(name="APLICACION")
public class Aplicacion implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="APLICACION_ID")
	private Long aplicacionId;

	@Column(name="NOMBRE_CORTO")
	private String nombreCorto;

	@Column(name="NOMBRE_LARGO")
	private String nombreLargo;

	@Column(name="DESCRIPCION")
	private String descripcion;

	@Column(name="CONTEXTO")
	private String contexto;

	@Column(name="URL")
	private String urlCierre;

	@Column(name="WEBSEAL")
	private String webseal;

    @Temporal(TemporalType.TIMESTAMP)
	@Column(name="FECHA_CREACION")
	private Date fechaCreacion;

    @Temporal(TemporalType.TIMESTAMP)
	@Column(name="FECHA_MODIFICACION")
	private Date fechaModificacion;

    @ManyToOne
	@JoinColumn(name="TIPO_ID")
	private TablaDetalle tipo;
	
    @ManyToOne
	@JoinColumn(name="ESTADO_ID")
	private TablaDetalle estado;

	@Column(name="USUARIO_CREACION")
	private String usuarioCreacion;

	@Column(name="USUARIO_MODIFICACION")
	private String usuarioModificacion;

	@Column(name="MENU_EXPANDIDO")
	private Boolean menuExpandido;

    public Aplicacion() {
    	
    }

    public Aplicacion(Long aplicacionId) {
    	this.aplicacionId = aplicacionId;
    }

	public Long getAplicacionId() {
		return this.aplicacionId;
	}

	public void setAplicacionId(Long aplicacionId) {
		this.aplicacionId = aplicacionId;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public Date getFechaCreacion() {
		return this.fechaCreacion;
	}

	public void setFechaCreacion(Date fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}

	public Date getFechaModificacion() {
		return this.fechaModificacion;
	}

	public void setFechaModificacion(Date fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}

	public String getNombreCorto() {
		return this.nombreCorto;
	}

	public void setNombreCorto(String nombreCorto) {
		this.nombreCorto = nombreCorto;
	}

	public String getNombreLargo() {
		return this.nombreLargo;
	}

	public void setNombreLargo(String nombreLargo) {
		this.nombreLargo = nombreLargo;
	}

	public String getUrlCierreAbsoluta() {
		return "../"+this.contexto + "/" + this.urlCierre;
	}

	public String getUrlCierre() {
		return this.urlCierre;
	}

	public void setUrlCierre(String url) {
		this.urlCierre = url;
	}

	public String getUsuarioCreacion() {
		return this.usuarioCreacion;
	}

	public void setUsuarioCreacion(String usuarioCreacion) {
		this.usuarioCreacion = usuarioCreacion;
	}

	public String getUsuarioModificacion() {
		return this.usuarioModificacion;
	}

	public void setUsuarioModificacion(String usuarioModificacion) {
		this.usuarioModificacion = usuarioModificacion;
	}

	public String getWebseal() {
		return this.webseal;
	}

	public void setWebseal(String webseal) {
		this.webseal = webseal;
	}

	public TablaDetalle getTipo() {
		return tipo;
	}

	public void setTipo(TablaDetalle tipo) {
		this.tipo = tipo;
	}

	public TablaDetalle getEstado() {
		return estado;
	}

	public void setEstado(TablaDetalle estado) {
		this.estado = estado;
	}

	public Boolean getMenuExpandido() {
		return menuExpandido;
	}

	public void setMenuExpandido(Boolean menuExpandido) {
		this.menuExpandido = menuExpandido;
	}

	public String getContexto() {
		return contexto;
	}

	public void setContexto(String contexto) {
		this.contexto = contexto;
	}
	
}